﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SISLOG.BusinessEntities;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using System.Data.Common;

namespace SISLOG.DataAccess
{
    public class OrdenCompraDAO: MasterDAEL, IOrdenCompraDAO
    {
        List<OrdenCompra> IOrdenCompraDAO.GetAllFromOrdenCompra()
        {
            var ordencompras = dbSisLog.ExecuteSprocAccessor<OrdenCompra>("GetAllFromOrdenCompra");
            return ordencompras.ToList();
        }

        OrdenCompra IOrdenCompraDAO.GetAllFromOrdenCompraById(int idOrdenCompra)
        {
            var ordencompras = dbSisLog.ExecuteSprocAccessor<OrdenCompra>("GetAllFromOrdenCompra", idOrdenCompra);
            return ordencompras.SingleOrDefault();
        }

        List<OrdenCompra> IOrdenCompraDAO.GetAllFromOrdenCompraByCriterio(DateTime criterio)
        {
            var ordencompras = dbSisLog.ExecuteSprocAccessor<OrdenCompra>("GetAllFromOrdenCompraByCriterio", criterio);
            return ordencompras.ToList();
        }

        void IOrdenCompraDAO.RealizarOrdenCompra(OrdenCompra ordencompra)
        {
            DbCommand comando = dbSisLog.GetStoredProcCommand("RealizarOrdenCompra");
            dbSisLog.AddInParameter(comando, "idOrdenCompra", System.Data.DbType.Int32, ordencompra.idOrdenCompra);
            dbSisLog.AddInParameter(comando, "fechaOrdenCompra", System.Data.DbType.DateTime, ordencompra.fechaOrdenCompra);
            dbSisLog.AddInParameter(comando, "responsable", System.Data.DbType.String, ordencompra.responsable);

            dbSisLog.ExecuteNonQuery(comando);
        }
    }
}
